package com.valuegroup.smarttodo.data.model;

import org.greenrobot.greendao.annotation.Entity;
import org.greenrobot.greendao.annotation.Id;
import org.greenrobot.greendao.annotation.NotNull;

import java.io.Serializable;
import java.util.Date;

import org.greenrobot.greendao.annotation.Generated;

/**
 * 课程
 */
@Entity
public class Curriculum implements Serializable {
    private static final long serialVersionUID = -1098795078937372419L;
    @Id(autoincrement = true)
    private Long id;
    private String title;

    // 开始时间
    private Date startDt;
    // 截止时间
    private Date endDt;

    // 是否过期
    private Boolean isPastDue;

    // 每日提醒时间（为null时则为不提醒）
    private Date remindTime;
    // 自动续学
    private Boolean openAuto;
    // 每日目标时长
    private Integer dayTargetMinute;
    // 学习完成
    private Boolean studyFinish;
    // 完成时间
    private Date finishDt;
    // 封面路径
    private String imagePath;

    private Integer sort;
    @NotNull
    private Date createdDt;
    @NotNull
    private Date updatedDt;
    @NotNull
    private Integer status;
    @Generated(hash = 1559322337)
    public Curriculum(Long id, String title, Date startDt, Date endDt,
            Boolean isPastDue, Date remindTime, Boolean openAuto,
            Integer dayTargetMinute, Boolean studyFinish, Date finishDt,
            String imagePath, Integer sort, @NotNull Date createdDt,
            @NotNull Date updatedDt, @NotNull Integer status) {
        this.id = id;
        this.title = title;
        this.startDt = startDt;
        this.endDt = endDt;
        this.isPastDue = isPastDue;
        this.remindTime = remindTime;
        this.openAuto = openAuto;
        this.dayTargetMinute = dayTargetMinute;
        this.studyFinish = studyFinish;
        this.finishDt = finishDt;
        this.imagePath = imagePath;
        this.sort = sort;
        this.createdDt = createdDt;
        this.updatedDt = updatedDt;
        this.status = status;
    }
    @Generated(hash = 369254021)
    public Curriculum() {
    }
    public Long getId() {
        return this.id;
    }
    public void setId(Long id) {
        this.id = id;
    }
    public String getTitle() {
        return this.title;
    }
    public void setTitle(String title) {
        this.title = title;
    }
    public Date getStartDt() {
        return this.startDt;
    }
    public void setStartDt(Date startDt) {
        this.startDt = startDt;
    }
    public Date getEndDt() {
        return this.endDt;
    }
    public void setEndDt(Date endDt) {
        this.endDt = endDt;
    }
    public Boolean getIsPastDue() {
        return this.isPastDue;
    }
    public void setIsPastDue(Boolean isPastDue) {
        this.isPastDue = isPastDue;
    }
    public Date getRemindTime() {
        return this.remindTime;
    }
    public void setRemindTime(Date remindTime) {
        this.remindTime = remindTime;
    }
    public Boolean getOpenAuto() {
        return this.openAuto;
    }
    public void setOpenAuto(Boolean openAuto) {
        this.openAuto = openAuto;
    }
    public Integer getDayTargetMinute() {
        return this.dayTargetMinute;
    }
    public void setDayTargetMinute(Integer dayTargetMinute) {
        this.dayTargetMinute = dayTargetMinute;
    }
    public Boolean getStudyFinish() {
        return this.studyFinish;
    }
    public void setStudyFinish(Boolean studyFinish) {
        this.studyFinish = studyFinish;
    }
    public Date getFinishDt() {
        return this.finishDt;
    }
    public void setFinishDt(Date finishDt) {
        this.finishDt = finishDt;
    }
    public String getImagePath() {
        return this.imagePath;
    }
    public void setImagePath(String imagePath) {
        this.imagePath = imagePath;
    }
    public Integer getSort() {
        return this.sort;
    }
    public void setSort(Integer sort) {
        this.sort = sort;
    }
    public Date getCreatedDt() {
        return this.createdDt;
    }
    public void setCreatedDt(Date createdDt) {
        this.createdDt = createdDt;
    }
    public Date getUpdatedDt() {
        return this.updatedDt;
    }
    public void setUpdatedDt(Date updatedDt) {
        this.updatedDt = updatedDt;
    }
    public Integer getStatus() {
        return this.status;
    }
    public void setStatus(Integer status) {
        this.status = status;
    }

}